import java.util.HashSet;
import java.util.Set;

public class Solution {
    public ListNode detectCycle(ListNode head) {

        //开始入环时它会第二次出现
        //判断第二次出现可以用哈希表set
        //遍历链表放入哈希表，放入失败则说明
        //该结点第二次出现，直接返回结果

        ListNode cur=head;
        Set<ListNode> set=new HashSet<>();
        while(cur!=null){

            if(!set.add(cur)){
                return cur;
            }
            cur=cur.next;
        }
        return null;
    }
}